Merge branch 'enum_fix' into 'ibm-trunk'

Enum fix

Demarshalling of Java Enums need to be special-cased - the demarshalled value needs to be obtained via a call to
Enum.valueOf(type, name) as Enum values are singletons.

See merge request !25