Ahhh I did not realize the optimizer made its own list rather than just pointing to the networks parameters.  For some reason my optim.SGD doesn’t seem to have a add_param_group function.  But the code I’m starting with instantiates a new optimizer before each training epoch.  It was currently being created before I make these parameters, by creating it afterwards it looks like it works!  Works with both a ParameterList, and with the register_parameter() function I was using originally.
Thank you so much!