If you’d have two alternative authentication flows/executions, could you programmatically invoke one of these, by the ID?
Something like
String someExecutionId = ...get the id by authenticator id...
context.challenge(Response.getExecutionById(someExecutionId)
Is this possible?