Hi Rahul,
the reason for such lengthy switch-case or if-else clauses is often that the class where they occur is not really responsible for the functionality!
In you concrete example
you should no let the switch-case clause do the reset but instead you should tell the corresponding object to reset itself. Of course the objects then should have a common parent class or better implement a common "reset" interface so that you can call for example reset() on any object no matter what concrete type it has. Therefore there will be no need to use a switch-case statement. Simply call "someObject.reset()" and let the object itself to the necessary cleanup.
I hope this helps a little bit to understand the typical cause for such a code smell ;-)
Marco