b43d085472
This change makes mypy type the constants as `Literal`s instead of
`str`s, allowing code of the following form to pass mypy:
```py
def do_something(
membership: Literal[Membership.JOIN, Membership.LEAVE], ...
):
...
do_something(Membership.JOIN, ...)
```