Is the whole purpose of this class so that you can do a case-insensitive comparison?  It seems like you might be able to remove a lot of code by moving this inside your parsing logic.  E.g. make sure everything is lower case before doing comparisons.