Dual functionality for a single hotkey (S for Scale) - similar to the G hotkey for Move and Slide Move
I found the answer in a different post which goes into more detail on how to get it to work.

I don't know if this is allowed but I will link to the original post for a more detailed answer:

Link: How to define double shortcut like GG

Here is the code I used. The explanation on how to set up the keymap so this works is in the post I linked. Once everything is set up, I can tap the S key multiple times, first to activate the scale operator and any subsequent presses toggle between two Pivot Modes I specified.

import bpy
from bpy.props import IntProperty, FloatProperty


class ARC_CustomScale(bpy.types.Operator):
    """Allow SS with the Scale operator, similar to pressing GG to toggle functionality
       of the move tool while the operator is still active"""

    bl_idname = "arc.scale"
    bl_label = "Scale (ARC)"
    bl_options = {'REGISTER', 'UNDO'}

    count=0

    def modal(self, context, event):
        self.count +=1
        if self.count ==1:
            bpy.context.tool_settings.transform_pivot_point = 'MEDIAN_POINT'
            bpy.ops.transform.resize('INVOKE_DEFAULT')
            print("First Press")

        elif event.type == 'S':
            bpy.context.tool_settings.transform_pivot_point = 'INDIVIDUAL_ORIGINS'           
            bpy.ops.transform.resize('INVOKE_DEFAULT')
            bpy.context.tool_settings.transform_pivot_point = 'MEDIAN_POINT'
            print("Second Press")
            self.count = 0
            #return {'CANCELLED'}

        elif event.type == 'LEFTMOUSE':
            return {'FINISHED'}

        elif event.type in {'RIGHTMOUSE', 'ESC'}:
            return {'CANCELLED'}

        return {'RUNNING_MODAL'}

    def invoke(self, context, event):
        if context.object:

            context.window_manager.modal_handler_add(self)
            return {'RUNNING_MODAL'}
        else:
            self.report({'WARNING'}, "No active object, could not finish")
            return {'CANCELLED'}


def register():
    bpy.utils.register_class(ARC_CustomScale)


def unregister():
    bpy.utils.unregister_class(ModalOperator)
ARC_CustomScale

if __name__ == "__main__":
    register()