For now, the location of Ordered interface is not that important. It can be changed later.... probably to ro.isdc.wro.util
Regarding the number instead of enum. I'd stick to the same approach as spring does. The main reason is that Ordered is a generic interface, so there probably will be the use-case which will need that. Back to Ordered provider use-case, it is very unlikely that anybody will ever implement that interface, since adding a custom provider with the same name as existing one is very rare. Also, as long as you don't implement that interface, you are guaranteed to get custom provider instead of the default one. So, even if we would use enum instead of int, we would require 2 values (LOW, HIGHT), nobody would ever use MEDIUM.