What was your reason for using an operator to set the property? You should be able to put most properties directly in a menu. Boolean properties default display with a nice checkbox when placed in menus.
If you don’t want the menu to close upon changing properties, then you will have to set a bit flag on the uiBlock of the menu that prevents it from closing (UI_BLOCK_KEEP_OPEN = 1 << 8), they don’t yet give access via python though, so you would have to recreate those structs from the source code with the ctypes module (you would need uiLayout, uiLayoutRoot, uiBlock, and any other embedded intermediate structs).
Once you recreate those structs it can be as simple as:
layout = uiLayout.from_address(self.layout.as_pointer())
block = layout.root.block
block.flag |= UI_BLOCK_KEEP_OPEN
block.dt = UI_EMBOSS # Most props look better this way
If you are using Blender 2.8 you can instead use a popover, which can also be spawned via the window manager. I believe the popovers have that flag set, or at least behave like they do.