title: Avoid repeating the template parameter for accessing enum in class template
body: <p>Consider a class template that implements a container which includes an option for choosing its storage place.</p>
  
  <pre><code>template&lt;class T&gt;
  class Container {
  public:
    enum StorageOption {A,B};
    Container(StorageOption opt_): option(opt_) {}
  private:
    StorageOption option;
  };
  </code></pre>
  
  <p>Here <code>StorageOption</code> was chosen to be a member since it is only used in the class.</p>
  
  <p>Now, to instantiate the class I would need to repeat the template parameter, like:</p>
  
  <pre><code>{
    Container&lt;int&gt; c( Container&lt;int&gt;::A );
  }
  </code></pre>
  
  <p>Is there a way to avoid repeating the parameter and at the same time have <code>StorageOption</code> being a member or is there a better way of implementing the option?</p>