You can use a LabelProvider to achieve your desired effect. You will have to make a new LabelProvider class that stems off of either LabelProviderBase, or more specifically in your case, NumericLabelProviderBase. You should be able to take all the ticks you have (1,0-1) and change them into strings using an if or a switch in your new LabelProviderClass. There's tons of examples in the source of label providers you can use as a base.
The method you are looking to override is CreateLabels. Here is a quick method I whipped up that should (hopefully!) get you where you need to be. Implement in the new class you create. 
public override UIElement[] CreateLabels(ITicksInfo<double> ticksInfo) {            
        var ticks = ticksInfo.Ticks;
        Init(ticks);            
        UIElement[] res = new UIElement[ticks.Length];
        LabelTickInfo<double> tickInfo = new LabelTickInfo<double> { Info = ticksInfo.Info };
        for (int i = 0; i < res.Length; i++) {
            tickInfo.Tick = ticks[i];
            tickInfo.Index = i;
            string labelText = "";
            if(Convert.ToInt32(tickInfo.Tick) == 1) {
                labelText = "High";
            } else if(Convert.ToInt32(tickInfo.Tick) == 0) {
                labelText = "Medium"
            } else if(Convert.ToInt32(tickInfo.Tick) == -1) {
                labelText = "Low"
            } else {
                labelText = ""
            }
            TextBlock label = (TextBlock)GetResourceFromPool();
            if (label == null) {
                label = new TextBlock();
            }
            label.Text = labelText;
            label.ToolTip = ticks[i].ToString();
            res[i] = label;
            ApplyCustomView(tickInfo, label);
        }
        return res;
    }
To assign this new LabelProvider to a ChartPlotter, name the axis that you want to label in XAML or create it as an object in C# :
yAxis.LabelProvider = new ZazkapulskLabelProvider();