from enum import Enum as PyEnum

from sqlalchemy import Enum


def str_enum(enum_class: type[PyEnum], **kwargs):
    """Store Python str enums by value (works with MySQL native ENUM columns)."""
    return Enum(
        enum_class,
        values_callable=lambda members: [member.value for member in members],
        **kwargs,
    )
