For the record, I did end up separating my code into multiple class models. I have a class called "CfileOperations" for handling the file stuff, and I have a class "CenumOperations" for handling the enum strings stuff. CenumOperations inherits from CfileOperations, and I pass off to the parent class's constructor the input filepath and output filepath. I then have a class called "CconvertEnumToStrings" (the same class that originally contained nearly all my code, but not anymore) which inherits from CenumOperations and passes off the input filepath and output filepath to its parent class's constructor.
That way, I can create an object of "CconvertEnumToStrings" in int main, and through that one object, have access to all my functions (though, technically, I did that already).
Oh, and I put my help() function outside of any class and in the same source file as int main, like advised.