Can one parameter choice on Python toolbox tool set Display Names of other parameters?

You know, anything is probably possible but that doesn't mean it is worth the effort. UpdateParameters is meant to update parameter values dynamically. Not parameter display names.

If I were trying to do this, I would create a Python Toolbox with two tools in it, ToolA for Category A and ToolB for Category B, each tool having the appropriate DisplayNames for its parameters.

To make the tool selection pretty simple for a user, I would then create a Python Add-in with two buttons (Category A and Category B). Then save the Python Toolbox into the Install Folder of your Python Add-in. When the user clicks the Category A button, launch ToolA from the Python Toolbox, when they click the Category B button on the Python Add-In, launch the ToolB from the Python Toolbox.

You can accomplish this using the pythonaddins.GPToolDialog function like so:

import os  
import arcpy  
import pythonaddins  
relPath = os.path.dirname(__file__)

class CAT_A(object):  
    """Implementation for Project_addin.CategoryA (Button)"""  
    def __init__(self):  
        self.enabled = True  
        self.checked = False  
    def onClick(self):  
        PythonTBX = relPath + r"\YourToolBox.pyt"  
        pythonaddins.GPToolDialog(PythonTBX, "ToolA")

class CAT_B(object):  
    """Implementation for Project_addin.CategoryB (Button)"""  
    def __init__(self):  
        self.enabled = True  
        self.checked = False  
    def onClick(self):  
        PythonTBX = relPath + r"\YourToolBox.pyt"  
        pythonaddins.GPToolDialog(PythonTBX, "ToolB")  

There's a couple of advantages to this approach.

  1. Stupid simple deployment of the Toolbox through a Python Add-in
  2. A user can then access the tools through a simple button on a toolbar rather than through a series of nested menus in a toolbox in their Catalog Window and doesn't have to create a Catalog Connection to the location where the toolbox is hosted on their system.
  3. An end user who wanted to alter the source code of the toolbox or tools is going to need to step up their game a little bit as they'll need to figure out that to get to the source code of the toolbox, they have to find the assembly cache where the addin is loaded. It's not obvious where this is located and the end user will not see this toolbox in their my toolboxes in catalog. The only way to access it will be through the Add-in unless they create a Catalog Connection to the assembly cache.
  4. You can restrict the Addin Manager to only install Trusted (Signed) Addins, then Sign the addin with your signing certificate. If anyone does manage to locate and modify the source code, the signature will become invalid and the Addin will uninstall automagically.