Previously the widget would always just use a generic hardcoded
list of field types. This isn't appropriate for all destination
providers, which may not support certain field types.
Add API so that an explicit list of supported destination
field types can be set for the widget, restricting the choices
available to users for destination fields.
And make sipify handle this nicely. This means that all our non-flag
style enums correctly map across to IntFlag python enums on Qt 6,
fixing issues with negative enum values for these and providing
a better match for the original c++ enum.