After reading Groovy, State of the Union - Groovy Grails eXchange 2010 by Guillaume Laforge I discovered that in Groovy 1.7.6 we can transform a String into a Enum value. We can use type coersion or the as
keyword to turn a String or GString into a corresponding Enum value (if possible).
enum Compass { NORTH, EAST, SOUTH, WEST } // Coersion with as keyword. def north = 'NORTH' as Compass assert north == Compass.NORTH // Coersion by type. Compass south = 'south'.toUpperCase() assert south == Compass.SOUTH def result = ['EA', 'WE'].collect { // Coersion of GString to Enum. "${it}ST" as Compass } assert result[0] == Compass.EAST assert result[1] == Compass.WEST