Динамические прокси в Java могут создаваться только для интерфейсов.
Однако enum
s могут реализовывать интерфейсы, так что вы можете заставить ваш enum
реализовать интерфейс, а затем создать динамический прокси для этого интерфейса:
public interface A { ... }
public enum B implements A { ... }
A a = Proxy.newProxyInstance(cl, new Class[] { A.class }, ih);