Métodos Java Enum

Gostaria de declarar uma direção enum, que possui um método que retorna a direção oposta (o seguinte não é sintaticamente correto, ou seja, enum não pode ser instanciado, mas ilustra meu ponto). Isso é possível em Java?

Aqui está o código:

public enum Direction {

     NORTH(1),
     SOUTH(-1),
     EAST(-2),
     WEST(2);

     Direction(int code){
          this.code=code;
     }
     protected int code;
     public int getCode() {
           return this.code;
     }
     static Direction getOppositeDirection(Direction d){
           return new Direction(d.getCode() * -1);
     }
}

questionAnswers(6)

yourAnswerToTheQuestion