title: What is the type of an enum in Typescript?
body: <p>Given a function that has an argument supposed to be an <code>enum</code>. The <code>enum</code> passed in can have different numbers of properties. How to fix the type of that argument ? <code>enum</code> itself is not a type. </p>
  
  <p>E.g. :</p>
  
  <pre><code>function (myEnum: mysteriousType){
    //What is that mysteriousType ?
  }
  </code></pre>
  
  <p><hr>
  The use case is to build a generic method to instantiate <a href="http://workshop.chromeexperiments.com/examples/gui/#1--Basic-Usage" rel="noreferrer">dat.GUI</a> options from an enum, whatever the string/number type in the enum.</p>