i'd give all that away to instead have tab completing based on man page parameters descriptions or something.
As raylu says, zsh has that feature. Prezto (https://github.com/sorin-ionescu/prezto) makes it relatively easy to get started with zsh. Install it, enable any extra modules you want to load in .zpreztorc inside the zstyle ':prezto:load' pmodule \ command, then update your .zshrc with your existing customizations from .bashrc and .bash_profile.