class Ideone {
    static abstract class MyAbstractClass <T extends Enum<T>> {
        public void myMethod(T cmd) {
            System.out.println("parent called");
        }
        public void update(T cmd) {
            myMethod(cmd);
        }
    }

    enum CMD {
       CMD_1, CMD_2
    }

    static class Child extends MyAbstractClass<CMD> {
        public void myMethod(CMD cmd) {
            System.out.println("child called");
            if (cmd == CMD.CMD_1) {
                //
            }
        }
    }

	public static void main (String[] arg) {
		Child child = new Child();
        child.update(CMD.CMD_1);
	}
}