I want to avoid creating a switch case and instead use an enum but when writing the following code, I get a compile error saying unexpected token public:       
public enum Status {
  INACTIVE {
    public void doSomething() {
      //do something
    }
  },
  ACTIVE {
    public void doSomething() {
      //do something else
    }
  },
  UNKNOWN {
    public void doSomething() {
      //do something totally different
    }
  };
  public abstract void doSomething()
}
Basically what I want to achieve is something similar to this:
public enum Status {
   ACTIVE,
   INACTIVE,
   UNKNOWN;
}
switch (getState()) {
  case INACTIVE:
    //do something
    break;
  case ACTIVE:
    //do something else
    break;
  case UNKNOWN:
    //do something totally different
    break;
}
Is this allowed in Gosu? How should I go about achieving such a behavior?