Los constructores de las enumeraciones funcionan... raro?
 
Es que lo que entendí es que si:    
Código Java:
Ver originalpublic enum LoQueSea{
   ROJO(10),
   AMARILLO(2),
   VERDE(10);
 
   private int duracion;
 
   public LoQueSea(int x){
      duracion = x;
   }
}
  
Al mmm... manipular LuzSemaforo.ROJO en realidad se manipula un objeto que su constructor TOMA el valor 10 de ROJO(10) e inicializa duracion con ese valor? 
¿Estoy entendiendo bien, o estoy confundido? 
Vaya lío con las enumeraciones xD