use table enums in functions via domain in V5
### Feature description

V4 has the feature to [use table enums in functions via domain](https://github.com/graphile/graphile-engine/pull/832), I think we should port it to V5 too. I'm just not sure how to do it in V5 (possibly via [build.setGraphQLTypeForPgCodec](https://github.com/graphile/crystal/blob/f09bd4e4e205b80dfbda33f361f38b6515bf84a1/graphile-build/graphile-build-pg/src/plugins/PgLtreePlugin.ts#L80-L81)).

### Motivating example

Same motivation as for the feature in V4, allowing to have nice GraphQL enums in function parameter / return types.

### Breaking changes

not breaking as far as I know

### Supporting development

I [tick all that apply]:

<!-- To tick a checkbox, change it from `[ ]` to `[x]` -->

- [x] am interested in building this feature myself
- [x] am interested in collaborating on building this feature
- [x] am willing to help testing this feature before it's released
- [x] am willing to write a test-driven test suite for this feature (before it exists)
- [ ] am a [Graphile sponsor](https://www.graphile.org/sponsor/) ❤️
- [ ] have an active [support or consultancy contract](https://www.graphile.org/support/) with Graphile
