24.7.4. Enums

On the client side, enums are treated similarly to Strings. When setting the value for an enum parameter, use the String representation of the enum. Take the following component as an example:
@Name("paintAction") 
public class paintAction implements paintLocal { 
    public enum Color {red, green, blue, yellow, orange, purple}; 
    public void paint(Color color) { 
        // code 
    }    
}
To call the paint() method with the color red, pass the parameter value as a String literal:
Seam.Component.getInstance("paintAction").paint("red");
The inverse is also true. That is, if a component method returns an enum parameter (or contains an enum field anywhere in the returned object graph), then on the client-side it will be represented as a String.