Enum support improvement

Allow enum null value in BeanMapper.
Fix BeanMapperFactory to not interfere with built-in argument types.
New EnumArgument argument type built-in which maps any Enum value as varchar
I believe just removing the `private` modifier here is sufficient, then you do not need to make this a public class?