title: Guice, binding to enum
body: <p>I am having hard time figuring out how to bind interface to enum using Guice.</p>
  
  <pre><code>public interface Snack {
      public int caloriesCount();
  }
  
  public enum Chocolate implements Snack {
      MILK(20),
      DARK(5),
      WHITE(10);
  
      private int calCount;
  
      private Chocolate(int calCount) {
          this.calCount = calCount;
      }
  
      @Override
      public int caloriesCount() {
          return calCount;
      }   
  }
  </code></pre>
  
  <p>If I try:
  <code>bind(Snack.class).to(Chocolate.class);</code></p>
  
  <p>I get <code>No implementation for Chocolate was bound</code></p>
  
  <p>I understand that instead of trying to bind to the enum I should bind to the set of that enum's values, but it defies me how that can be accomplished.
  Appreciate any hints.
  Thanks,
  Maciek</p>