I would say it's mostly Haskell influence:
- everything that you would declare as
class in Haskell is called "type class", and is usually located in cats._
- everything that you would declare as
data in Haskell is called "data type", and ends up in cats.data._
- instances of type classes that you would usually implement with the
instance keyword in Haskell are all in cats.instances._
"Type class" is a reserved phrase with a rather precise meaning: it's a kind of language feature or design pattern that enables ad-hoc polymorphism. It occurs across multiple languages. The implementation details can vary (it's built-in in Haskell, but simulated through classes with (higher-kinded) type parameters in Scala), but the essence is more or less the same.
"Data Type" does not seem to have any such precise meaning - at least it's not in the same league as "Algebraic Data Types" or "Generalized Algebraic Data Types". My current guess is that it's a more or less colloquial term for "all the stuff that you would declare with the data keyword in Haskell", so, essentially, it's just bunch of classes that represent some data structures that can be used and composed in a type-safe manner.