Previously I worked a lot on projects where we had test cases integrated into our VCS, so it was really easy and not disturbing to delete them if they become outdated (knowing that we can retrieve them later). On my current project we use a separate tool for a test case management, and I joined this project when a lot of test cases were already created in a classic style. Recently developers hide a huge part of the functionality(so it is unusable, and there is a ton of TCs for that functionality). But it could be that in some point in the future, we'll get a request to 'unhide' that functionality and return whole or a part of it back.
That's why I just don't want to simply delete those test cases. Unfortunately, in this test management system we don't have some specific tags or test case types for such cases (I probably will talk to team mates about introducing at least a separate test case type for this case).
Please share your experience in managing outdated test cases.