A `EnumSettingsOption` counterpart is used on `native` during community creation, however it's built into the community configuration screen directly since we don't use it anywhere else on `native`.
I'm going to need something similar for selecting role permissions, so I just made a pretty clean refactor into its own component. I recall there was some talk about needing to confirm the actual designs for
checked / unchecked, but for now I've just copied it straight over without any design changes.
The reason `icon` is an optional prop is because at the moment, the designs for role permissions don't require an icon so it made more sense to just make it optional entirely.