title: "GroovyRuntimeException: Could not find matching constructor..." with nonsense signature
body: <p>Grails 3.2.11</p>
  
  <p>I'm trying to define enums to hold my custom defined RoleGroups' and Roles' names and authorities in my service class:</p>
  
  <pre><code>import grails.transaction.Transactional
  
  @Transactional
  class UserService {
  
      enum RoleEnum{
          ROLE_SUPERADMIN,
          ROLE_ADMIN,
          ROLE_RECEPTION,
          ROLE_HOUSEKEEPING,
          ;
      }
      enum RoleGroupEnum {
          ROLEGROUP_SUPERADMIN([
              UserService.RoleEnum.ROLE_SUPERADMIN,
              UserService.RoleEnum.ROLE_ADMIN,
              UserService.RoleEnum.ROLE_RECEPTION,
              UserService.RoleEnum.ROLE_HOUSEKEEPING
          ]),
          ROLEGROUP_ADMIN([UserService.RoleEnum.ROLE_ADMIN]),
          ROLEGROUP_RECEPTION([UserService.RoleEnum.ROLE_RECEPTION]),
          ROLEGROUP_HOUSEKEEPING([UserService.RoleEnum.ROLE_HOUSEKEEPING]),
          ;
  
          private List&lt;RoleEnum&gt; roles
  
          List&lt;RoleEnum&gt; getRoles() {
              return roles
          }
  
          RoleGroupEnum(List roles) {
              this.roles=roles;
          }
      }
  
  
      def serviceMethod() {
          RoleGroupEnum superadmin=RoleGroupEnum.ROLEGROUP_SUPERADMIN;  
         // Throws groovy.lang.GroovyRuntimeException
      }
  }
  </code></pre>
  
  <p>Calling serviceMethod() the following exception is thrown:</p>
  
  <pre><code>Caused by: groovy.lang.GroovyRuntimeException: Could not find matching constructor for: UserService$RoleGroupEnum(java.lang.String, java.lang.Integer, UserService$RoleEnum)
      at groovy.lang.MetaClassImpl.selectConstructorAndTransformArguments1(MetaClassImpl.java:1621)
      at groovy.lang.MetaClassImpl.selectConstructorAndTransformArguments(MetaClassImpl.java:1537)
      at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.selectConstructorAndTransformArguments(ScriptBytecodeAdapter.java:238)
      at UserService$RoleGroupEnum.$INIT(UserService.groovy)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1426)
      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
      at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)
      at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)
      at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:56)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:194)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:222)
      at UserService$RoleGroupEnum.&lt;clinit&gt;(UserService.groovy:18)
  </code></pre>
  
  <p>I  have no idea where this signature is coming from: <code>UserService$RoleGroupEnum(java.lang.String, java.lang.Integer, UserService$RoleEnum)</code></p>
  
  <p>Just out of curiosity I have added the following constructor:</p>
  
  <pre><code>    RoleGroupEnum(String wtf1, Integer wtf2, RoleEnum wtf3) {
          log.debug("WTF");
      }
  </code></pre>
  
  <p>I'm getting the same exception, with the same signature.
  Can someone explain what's going on?</p>