fix: fix enum introspection for SQLite (#5566)
[ORM-1283](https://linear.app/prisma-company/issue/ORM-1283/fix-sqlite-enum-introspection)
I've made changes to ensure that we preserve enums in the prisma schema
when doing introspection in SQLite. It required some refactoring to make
the `EnumPair` work without an actual sql enum. I've used `EitherOrBoth`
to represent the idea that enums must be present either in the schema,
in the database or in both.