title: Override valueof() and toString() in Java enum
body: <p>The values in my <code>enum</code> are words that need to have spaces in them, but enums can't have spaces in their values so it's all bunched up. I want to override <code>toString()</code> to add these spaces where I tell it to.</p>
  
  <p>I also want the enum to provide the correct enum when I use <code>valueOf()</code> on the same string that I added the spaces to.</p>
  
  <p>For example:</p>
  
  <pre><code>public enum RandomEnum
  {
       StartHere,
       StopHere
  }
  </code></pre>
  
  <p>Call <code>toString()</code> on <code>RandomEnum</code> whose value is <code>StartHere</code> returns string <code>"Start Here"</code>. Call <code>valueof()</code> on that same string (<code>"Start Here"</code>) returns enum value <code>StartHere</code>.</p>
  
  <p>How can I do this?</p>