Enbridge to buy Spectra Energy in $28 billion deal