Suppose you’re binding to something which will use the properties of any object it’s given – you can pass Elvis.INSTANCE very easily, but you can’t pass Elvis.class and expect it to find the property (unless it’s deliberately coded to find static properties of classes).
Basically you only use the singleton pattern when you want an instance. If static methods work okay for you, then just use those and don’t bother with the enum.