The script addons/TileMapLayer3D/core/tile_creation_placement/tile_placement_manager.gd has an enum called PlacementMode.
BUT it just so happens that I have another addon called "Godot Asset Placer" that happens to use PlacementMode as a class_name in the script addons/asset_placer/placement/placement_mode.gd
Different from C# or many other languages, Gdscript does not have namespaces so common names for things often cause naming clashes.
The common way this is solved in languages without namespaces is by using name prefixes. For example, SDL is made in C and it uses the SDL_ preffix for pretty much everything, be it function or struct name. You could do the same using a preffix like TM3D_. In my copy of TileMapLayer3D I renamed that enum and that was the only naming clash, so you wouldn't need to rename every existing type name (at least not regarding compatibility specifically with this asset_placer addon).
The script
addons/TileMapLayer3D/core/tile_creation_placement/tile_placement_manager.gdhas an enum called PlacementMode.BUT it just so happens that I have another addon called "Godot Asset Placer" that happens to use PlacementMode as a class_name in the script
addons/asset_placer/placement/placement_mode.gdDifferent from C# or many other languages, Gdscript does not have namespaces so common names for things often cause naming clashes.
The common way this is solved in languages without namespaces is by using name prefixes. For example, SDL is made in C and it uses the SDL_ preffix for pretty much everything, be it function or struct name. You could do the same using a preffix like TM3D_. In my copy of TileMapLayer3D I renamed that enum and that was the only naming clash, so you wouldn't need to rename every existing type name (at least not regarding compatibility specifically with this asset_placer addon).