I doubt such a function will be introduced any time soon, because it's not a properly typed operation. In Haskell, you have to add the type annotation to the function call because read's return type is ambiguous. However, Elm doesn't have any similar ability.
For converting Strings to numeric types, there are String.toInt and String.toFloat.
For doing what your example does, I might consider using a dictionary mapping strings to states. Maybe Something like:
viewStates = Dict.fromList [ ("ViewDocList", ViewDocList), ("ViewDocument", ViewDocument) ]
locationUpdate location =
case Dict.get location viewStates of
Just state ->
ViewState state
Nothing ->
App.NoOp
You still need to manually associate strings with view states, but now locationUpdate has the form you want.