Post Made Community Wiki by Dylan Rosario
source | link

This is more of a community wiki answer, aggregating the various modelling tools suggested by other answers, I've just added additional links to resources.

I don't think there's any need to restate that you should be using a different approach to thousands of hard-coded if/else statements.