Change Operator Adjust Menu
I guess what you want is a property confirm dialog. You basically just have to add a new 'invoke' and a 'draw' method. Note that I removed == (python strings can be "falsy") as well as bad references like bpy.context in your 'execute' method. 

import bpy
from bpy.types import Operator

class WM_OT_my_popup(Operator):
    bl_idname = "custom.my_popup"
    bl_label = "Area Operator"
    bl_options = {'REGISTER'}

    areas = [
        ("VIEW_3D","View 3D",""),
        ("VIEW","Image Editor",""),
        ("UV","UV Editor","")]

    my_enum: bpy.props.EnumProperty(name="Areas", items=areas)
    my_bool: bpy.props.BoolProperty(name="Chose area Type", default=True)
    my_type: bpy.props.StringProperty(name="Change area to", default='UV')

    def execute(self, context):
        area = context.area
        if self.my_bool:
            self.my_type = self.my_enum

            if not self.my_type:
                self.report({'ERROR'}, "")
                return {'CANCELLED'}
            else:
                area.ui_type = self.my_type
        else:
            if not self.my_type:
                self.report({'ERROR'}, "")
                return {'CANCELLED'}
            else:
                area.ui_type = self.my_type

        return {'FINISHED'}

    def invoke(self, context, event):                
        return context.window_manager.invoke_props_dialog(self, width=400)

    def check(self, context):
        return True

    def draw(self, context):
        scn = context.scene
        layout = self.layout
        row = layout.row().prop(self, "my_enum") 
        row = layout.row()
        row.prop(self, "my_bool") 
        row.prop(self, "my_type")


classes = (
    WM_OT_my_popup,
)

def register():
    from bpy.utils import register_class
    for cls in classes:
        register_class(cls)

def unregister():
    from bpy.utils import unregister_class
    for cls in reversed(classes):
        unregister_class(cls)



if __name__ == "__main__":
    register()

    # test call
    bpy.ops.custom.my_popup('INVOKE_DEFAULT') 


Tip: Blender enforces naming conventions as of 2.8x: 


  The class name convention is: UPPER_CASE_{SEPARATOR}_mixed_case, in the case of a menu the regular expression is: 
   [A-Z][A-Z0-9_]*MT[A-Za-z0-9_]+


Related: 


How to call a confirmation dialog box?
What do operator methods do? (poll, invoke, execute, draw &amp; modal)