Your SCIM implementation isn't compliant with the SCIM spec. The roles attribute as defined in the spec is a complex multi-valued attribute, not a single-valued string. Enabled is also not an attribute in the SCIM spec - active is what you're looking for there.
While you can make custom schema extension attributes - such as urn:ietf:params:scim:schemas:extension:YourAppName:2.0:User:myAppRole or urn:ietf:params:scim:schemas:Extension:YourAppName:2.0:User:enabled, those would also not be in line with the guidance in the SCIM spec because it advises to not duplicate functionality of existing attributes (SCIM core schema roles attribute + active attribute, respectively) via custom extensions.
Your payloads aren't coming through as expected because you're trying to use a switch to turn output that is intended for a complex multi-valued attribute into a single-valued string. For any attributes not present in the core schema for a resource (the core user schema in this case), you also must use the full schema URN prefix, rather than just using a short name like "enabled", which is only allowed for core schema attributes.