There's no straightforward way to do that. The whole approach is for dynamically-typed programs, and not appropriate for Rust. Except of very limited cases, types and their names don't even exist in Rust programs at run time.
The FromStr trait has to know the target type at compilation time. You can make something like a match or enum that lists a limited fixed set of types that you support, but it can't be open-ended at run time.
Another way is to have types that implement reflection-like interface and are registered for name-based lookup at run time: bevy_reflect - Rust