title: Java Enum access to private instance variable
body: <p>Consider the example:</p>
  
  <pre><code>enum SomeEnum {
      VALUE1("value1"),
      VALUE2("value2"),
      VALUE3("value3")
      ;
      private String value;
  
      private SomeEnum(final String value) {
          this.value = value;
      }
  
      //toString
      public String toString() {
          return value;
      }
  }
  </code></pre>
  
  <p>How come can we do this (and the value <strong>really</strong> changes)?</p>
  
  <pre><code>SomeEnum.VALUE1.value = "Value4";
  System.out.println(SomeEnum.VALUE1);
  </code></pre>
  
  <p>Isn't that enum instance(s) are implicitly <em>static</em> and <em>final</em>? Also, since <code>value</code> is <code>private</code>, why can I access it outside other classes?</p>