I have the same issue, I reimplemented the EnumDataType, it has a bug (at least I think so) in the line where it loads the enum, the original code says:
{code}Class<?> clazz = Class.forName(className);{code}
And Mine is
{code}Class<?> clazz = this.getClass().forName(className);{code}
Now I can pass enums to my handler, and the best part is that the editor "validates" the enum and don't let you type a value that is not listed in your enum :)
Hope that helps!