TypeError: UILayout.prop() when trying to display custom settings in a menu
import bpy

class CUSTOM_MT_menu(bpy.types.Menu): # Menu name need 'UPPER_CASE_MT_mixed_case'
    bl_label = "Custom Menu"

    def draw(self, context):
        layout = self.layout

        settings = context.scene.custom_settings

        layout.row().prop(settings, "my_settings", expand=True) # Layout.prop(data, 'prop') # show data.prop


class CustomSettings(bpy.types.PropertyGroup):
    my_settings = bpy.props.EnumProperty(
        name="My Settings",
        description="Custom Settings",
        items=[
            ('S1', "Setting One", "", 0),
            ('S2', "Setting Two", "", 1),
            ('S3', "Setting Three", "", 2),
        ],
        default='S1'
    )


def register():
    bpy.utils.register_class(CUSTOM_MT_menu)
    bpy.utils.register_class(CustomSettings) #  CustomSettings need register first
    bpy.types.Scene.custom_settings = bpy.props.PointerProperty(type=CustomSettings) #  not BlendData, need Specify a data type.





def unregister():
    del bpy.types.Scene.custom_settings
    bpy.utils.unregister_class(CustomSettings)
    bpy.utils.unregister_class(CUSTOM_MT_menu)


if __name__ == "__main__":
    register()

    bpy.ops.wm.call_menu(name="CUSTOM_MT_menu")



BlendData cause TypeError: UILayout.prop(): error with argument 1, "data" -  Function.data expected a AnyType type, not tuple