enum Value { A, B, Z, Y; static { A.opposite = Z; B.opposite = Y; Y.opposite = B; Z.opposite = A; } public Value flip() { return opposite; } private Value opposite; } public class Main{ public static void main(String[] args) { for(Value f : Value.values()) { System.out.println(f + " flips to " + f.flip()); } } }