I think we can use the same approach as spring does: http://static.springsource.org/spring/docs/2.0.x/api/org/springframework/core/Ordered.html
In other words, the interface name is Ordered (not ProviderOrder since it can be reused for other concepts also). And it should return int instead of enum,