You should consider using polymorphism as an alternative to control structures like if or switch. It's especially convenient if you have very many options, as it can simplify the control logic a lot.
I wrote about the concept here: http://codeutopia.net/blog/2009/02/02/avoiding-endless-switch-case-structures-with-classes/