It's annoying when manufacturers use 0-127 numbering for some functions and 1-128 numbering for others. In that case I usually recommend using 0-127 and adding 1 when needed.
Anyway, is it just a matter of MSB 0, LSB 0, program 0 selects preset 1, and 0|0|1 selects preset 2, etc? Are the banks used to select presets beyond 128? (If not, you can leave them blank.) This is the key bit that wasn't covered in your document.