Are your shure that value.toString() is the correct way to coerce an Enum to its String value in nullSafeSet()? Remember that toString() can be overridden by some "user friendly value". Maybe Enum.name() would be safer? Regards, Andreas