Enums are lists of constants. When you need a predefined list of values which do represent some kind of numeric or textual data , you should use an enum. You should always use enums when a variable (especially a method parameter) can only take one out of a small set of possible values.