[BUGFIX] Prevent strings from being autoloaded

The introduction of a TypeConverter for Enumaration
types in #52762 added is_subclass() calls to
getPlainValue() in the DatabaseBackends. These methods
are meant to convert objects to simply types but are
regularly called with simple types, in particular strings.

Since is_subclass() also works with strings,
The class loader is triggered when these methods
are called with a table name like "tx_ext_domain_model_foo".

This triggers an issue #55418 in the class loader especially
on case insensitive filesystems.

Instead of is_subclass we now use instanceof to make sure
we only check for conversion if the value is an object.

Additionally this change fixes a wrong case statement which
also was introduced in #52762

Resolves: #54275
Change-Id: If1b2a28a2623e49dfb47720641935c6f24447c19
Reviewed-on: https://review.typo3.org/27079
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel