Circe instances for encoding/decoding sealed trait instances of arity 0? : <p>I'm using sealed traits as enums for exhaustive pattern matching.  In cases where I have case objects instead of case classes extending my trait, I'd like to encode and decode (via <a href="http://circe.io">Circe</a>) as just a plain string.  </p>

<p>For example:</p>

<pre><code>sealed trait State
case object On extends State
case object Off extends State

val a: State = State.Off
a.asJson.noSpaces // trying for "Off"

decode[State]("On") // should be State.On
</code></pre>

<p>I understand that this will be configurable in 0.5.0, but can anyone help me write something to tide me over until that's released?</p>
