1) This should be a generic.  General rule: if its something that changes based on conditions, it should be a generic (or a constant calculated from a generic).  Constants should only be used for things that will no change across instantiations.
2) If you make the counter an integer as I mentioned below, you can make this an integer type.