There is a way to find the optimal response for each level of a categorical factor. I created a similar analysis to yours using a sample table and turned on the Profiler. My analysis is predicting a continuous Y with two categorical X's and a continuous X. I turned on the Desirability Functions.
Before asking JMP to find the maximum desirability, we want to first lock one of the categorical factors. Do this by holding down the Control key and right-clicking in the graph for the variable to lock (Coal in your case). You will get a small dialog window that allows you to lock the factor setting.
This is useful if you want to maximize your desirability across your other factors without allowing JMP to change the value of this categorical factor. You can still change the value manually by clicking or dragging in the window, but JMP will not change it during the optimization.
Now to see the optimal factor settings across all values of this locked categorical factor, choose Maximize for Each Grid Point from the Prediction Profiler red triangle menu.
This will produce a table of optimal points below the graphs. You can click through the table to see the graphs reflect the optimal factor settings. Notice the solid red vertical line in the leftmost graph indicating that the factor setting is locked.