use jenkin’s ExtendedChoiceParameterDefinition for multi-select user input

        def userInput = input(
            id: 'userInput',
            message: 'Promote:',
            parameters: [
                    name: 'valuesToMultiSelectFrom',
                    $class: 'ExtendedChoiceParameterDefinition',
                    type: 'PT_MULTI_SELECT',
                    value: 'value1,value2',
                    description: 'Select a value'
                    name: 'additionalValuesAsCheckboxes',
                    $class: 'ExtendedChoiceParameterDefinition',
                    type: 'PT_CHECKBOX',
                    value: 'additional-value1,additional-value2',
                    description: 'Select additional values'


        def String[] values = userInput['valuesToMultiSelectFrom'].split(',');
        def (additionalValue1, additionalValue2) = userInput['additionalValuesAsCheckboxes'].tokenize(',');

Check Jenkins’ own documentation for an unnecessarily complicated but at least almost complete overview of available input declarations:

Get a list of available types here:

Get a list of all parameters of the ExtendedChoiceParamterDefinition here:

This SO was useful to get an idea of how to use it in pipelines and resulted in above example:
This was also somewhat helpful: