Annotation in NestedEnumArgument test is made public, because we try to load annotation argument values eagerly and fail, since you can't invoke methods reflectively on an object of a non-effectively-public class
Rename JavaReferenceAnnotationArgument on that occasion to JavaEnumValueAnnotationArgument. Also add a test on a nested enum annotation argument