In principle, you should use a decision table / switch etc. (if you are worried about efficient processing through the cases) once your if-else-if clauses go up to 5 or more (just a value big enough to impact average access times) instances.
Update: 5 is not written any where. I used it to illustrate a concept though i remember having seen some compiler doing it when switch cases were 8 or more, but that was a long time ago
The rationale is that going through each of the if clause manually would cause linear over head where as for decision table, the access would be constant time.
In practice, your code is already optimized by every decent compiler into a decision table / hash table as soon as number of cases become significant so this is irrelevant.
Following would help. Note that choice of switch or decision table or if else also depends upon how your test clause is structured. Switch works on integer values only. If you cannot relate your test condition to be accessed randomly some how, you might not have another choice but to use if-else only.