Guice: Un "Proveedor <T>" para múltiples implementaciones

Tengo una interfaz que tiene más o menos 20 implementaciones anotadas. Puedo inyectar la correcta si sé cuál necesito en el momento de la compilación, pero ahora necesito inyectar dinámicamente una en función de los parámetros de tiempo de ejecución.

Como entendí la documentación, tendría que usar más o menos 20Provider<T>&nbsp;inyecciones y luego uso la que necesito, lo que me parece bastante excesivo. ¿Hay alguna manera de tener algo como uninst(Provider<T>).get(MyAnnotation.class)&nbsp;para vincular una implementación específica, y luego tener solo esoProvider&nbsp;inyectado en mi clase?