title: Do GraphQL enum types resolve their values automatically?
body: <p>Should I expect enum types to resolve automatically or do the types only exist to limit options?</p>
  
  <p>Given a GraphQL Schema of the following:</p>
  
  <pre class="lang-js prettyprint-override"><code>type Job {
    description: String!
    status: Status!
  }
  
  enum Status {
    PENDING_REVIEW
    PENDING_APPROVAL
    APPROVED
  }
  </code></pre>
  
  <p>and a query that looks like:</p>
  
  <pre class="lang-js prettyprint-override"><code>query job {
    description
    status
  }
  </code></pre>
  
  <p>If my database returned the following:</p>
  
  <pre class="lang-js prettyprint-override"><code>{ "description": "Some irrelevant job description", "status": 1 }
  </code></pre>
  
  <p>I would expect GraphQL to return:</p>
  
  <pre class="lang-js prettyprint-override"><code>{ "description": "Some irrelevant job description", "status": "PENDING_APPROVAL" }
  </code></pre>
  
  <p>Have I set something up incorrectly, or is this expected behaviour that will require me to write a resolver for <code>status</code></p>
  
  <pre class="lang-js prettyprint-override"><code>const getQuestionStatus = ({ status }) =&gt; ['PENDING_REVIEW', 'PENDING_APPROVAL', 'APPROVED'][status];
  </code></pre>