title: Non-Null Enums like non-null Objects?
body: <p>I have some code that acquires a value for an enum:</p>
  
  <pre><code>StringUtils.isEmpty(getEnumMember().value());
  </code></pre>
  
  <p>The supporting code looks like this:</p>
  
  <pre><code>public CustomEnum getEnumMember() {
      return enumMember;
  }
  
  ----
  
  public enum CustomEnum {
  
      TEXT1("text1"),
      TEXT2("text2"),
      TEXT3("text3");
  
      private final String value;
  
      CustomEnum(String v) {
          value = v;
      }
  
      public String value() {
          return value;
     }
  
     ...
  }
  </code></pre>
  
  <p>I am wondering if there is a way for getEnumMember to handle null enums in the same way I can handle null objects.  For example:</p>
  
  <pre><code>public CustomEnum getEnumMember() {
      if (enumMember ==null) {
          return new CustomEnum();
      }
      return enumMember;
  }
  </code></pre>
  
  <p>But I cannot instantiate a "new CustomEnum".  How would you handle this so that getEnumMember() would not return a null?  I would prefer not to create a special enum value for "ENUM_IS_NULL("")".</p>