title: What are the drawbacks of enums in Java?
body: <p>While looking at jhipster, I have stumbled across the following class</p>
  
  <pre class="lang-java prettyprint-override"><code>public final class AuthoritiesConstants {
      public static final String ADMIN = "ROLE_ADMIN";
      public static final String USER = "ROLE_USER";
      public static final String ANONYMOUS = "ROLE_ANONYMOUS";
      private AuthoritiesConstants() {
      }
  }
  </code></pre>
  
  <p>I was wondering why they did not use enums like for example</p>
  
  <pre class="lang-java prettyprint-override"><code>public enum AuthoritiesConstants {
      ROLE_ADMIN,
      ROLE_RESPONSABLE,
      ROLE_MANAGER,
      ROLE_COLLABORATEUR
  }
  </code></pre>
  
  <p>Are there any drawbacks using enums?</p>