Simple enums

Simple enums are (de)serialized as JSON strings.
By "simple" we mean an enum that only has "singleton cases" as defined in the docs.
That is, enum who's cases don't have a parameter clause.


      enum Semaphore derives JsonRW:
        case Red, Yellow, Green

      val semaphore = Semaphore.Red
      println(semaphore.toJson)
      // "Red"