ReflectArgumentType: Special handling for enums and remove setAccessible

Use Enum.valueOf() to get desired enum value from String.
Calling setAccessible(true) of valueOf method was removed, because
it may cause some problems, for example, application wants to
hide valueOf method.
ReflectArgumentType: Add copyright notice
Update doc