Well you have a clue in th error message. your GetEnumerator method returns System::Collections::IEnumerator^ while there is another method to this class that returns System::Collections::Generic::IEnumerator^ , this method is probably inherited from IList class.
Try to replace the return value with System::Collections::Generic::IEnumerator^.