An article show how java treat enum internally - http://www.javaspecialists.eu/archive/Issue141.html Look like it is "replace switch with polymorphism - http://javaforyou.wordpress.com/2009/12/01/working-with-java-enumerated-types-enums