Ok. I see.
Then you should use the GenericEnumUserType described under
http://community.jboss.org/wiki/Java5EnumUserType (Flexible solution - working version)
We use it the same way like you described it.
Code:
@Type(type = "crossng.infrastructure.core.persistence.type.GenericEnumUserType", parameters =
{@Parameter(name = "enumClass", value = "crossng.domain.api.dto.BusinessPartnerType"),
@Parameter(name = "identifierMethod", value = "toCode"),
@Parameter(name = "valueOfMethod", value = "fromCode")})
@Column(name = "GPTYP", updatable = false, insertable = false)
@Enumerated(EnumType.STRING)
private BusinessPartnerType businessPartnerType;
Best regards.