identifying feature type in a dataset : categorical or bag of words
Well you're confused between those two terms:
Categorical Data is the kind of data which can be categorized between different categories especially more than two classes or multi-class. Search for 20 Newsgroup Dataset.
Whereas,
Bag of Words is a technique of storing features. Identification of features is done on the basis of what outcome is required. There are techniques to extract features like TF-IDF Vectorizer from sklearn, Word2Vec, Doc2Vec, etc. But identification of features is solely based on the dataset you use and the application it is used for. Always remember, if you convert textual data to numerical form or whatsoever, the column names are your Features or Dimensions whereas the rows are your samples or instances or records.
I am trying to identify the type of feature in a dataset which can be either categorical/bag of words/ floats. 
However I am unable to reach to a accurate solution to distinguish between categorical and bag of words due to following reasons.

Categorical data can either be object or float. Counting the unique values in a feature does not ensure the accurate solution as different samples can have the same feature value which necessarily may not be categorical.
For bag or words, I thought of counting the number of words but again this is not the correct way as text can be written in a single word or may be missing.

what can be the best way to identify the type of features?