Enum generalization?
<p>In my project I have two chunk of code which I would like to separate to make one part a library. Yesterday, when I was trying to separate it I notice that there is a very strong connection between my new library and my application layer which is caused by Enum type. Of course I could simply change that Enum into the primary type of int, or a String and by this enabling myself to define those values within the application layer, but by doing it I would get rid of the type-check mechanism which I would like to have. Is there any other way to achieve it without loosing the type checking mechanism of Java/Android?
And the issue:</p>

<h2>Application Layer</h2>

<p>Enum Id {...} // how to generalize the type?</p>

<h2>Library Layer</h2>

<p>SomeClass.someMethod(Id myResource) {...}</p>
