How do I swap Y and Z axis on bone?
You can't change the bone local axis, for example the tail will always point to the local Y axis.

I think you are confusing the global axes and the local axes. Actually when you choose to display the bone axes (in the Properties panel > Data > Display) it will display the local axes of each selected bone. Same as if you switch the Transformation Ortientation dropdown menu from Global to Local and select a bone, as you can see in my screenshots.

It's useful to display all the bone axes as it allows to align the axes of several bones, for example.

You can change the bone (and not axis) orientation in Edit mode with ctrlR and align it with the global with ctrlN. When you'll create some bone poses in Pose mode, you'll use R to rotate and X for example to rotate on the global X axis, and double X to rotate on the local X axis.